package com.snj.test;

public class NumberToChinese {

    public static void main(String[] args) {
        System.out.println(convertToChinese(1));  // 输出 一
        System.out.println(convertToChinese(2));  // 输出 二
        System.out.println(convertToChinese(10)); // 输出 十
        System.out.println(convertToChinese(11)); // 输出 十一
        System.out.println(convertToChinese(20)); // 输出 二十
        System.out.println(convertToChinese(99)); // 输出 九十九
    }

    public static String convertToChinese(int number) {
        if (number < 1 || number > 99) {
            throw new IllegalArgumentException("支持的范围是 1 到 99");
        }

        String[] chineseDigits = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};

        int tens = number / 10;
        int units = number % 10;

        StringBuilder result = new StringBuilder();

        if (tens > 0) {
            result.append(chineseDigits[tens]);
            result.append("十");
        }

        if (units > 0 || tens == 0) { // 处理个位是0的情况
            result.append(chineseDigits[units]);
        }

        // 如果只有十位数而个位数是0，不要显示个位的零
        return result.toString().replaceAll("^一十", "十"); // 将 "一十" 转换为 "十"
    }
}